/**
 * 启动
 * @param ip 服务器ip
 * @param projectName 项目名
 * @param remotePath 远程文件目录
 * @param fileName 文件名
 */
void  call(String ip , String remotePath , String projectName ,String java ) {

    withCredentials([sshUserPrivateKey(
            credentialsId: 'ssh_key',  // 凭证 ID
            keyFileVariable: 'SSH_KEY',
            usernameVariable: 'USER'
    )]) {
        println("关闭${projectName}项目,执行脚本 ${remotePath}bin/shutdown.sh")
        try {
            ssh.sshTomcatVoid(ip,java, "  sh   ${remotePath}bin/shutdown.sh" )
        } catch (Exception e) {
            def PID=  ssh.getPid(ip,remotePath)
            print("PID:${PID}")
            if( util.strIsBlack(PID)){
                println("${projectName}服务已关闭")
            }else{
                println("${projectName}服务还在进行中 pid:${PID}")
                ssh.sshVoid(ip,"  kill  ${PID}")
            }
        }
        def PID
        for (int i = 1; i <= 60; i++) {
            PID=  ssh.getPid(ip,remotePath)
            if( util.strIsBlack(PID)){
                println("${projectName}服务已关闭")
                return
            }else{
                println("${projectName}服务还在进行中 pid:${PID}")
            }
//                 睡眠1秒
            sleep(1)
        }
        def choice  = input(
                message: '是否强制杀死服务',
                parameters: [
                        choice(name: 'ACTION',
                                choices: ['强制杀死服务', '终止流程'],
                                description: '请选择要执行的操作')
                ],
                submitter: 'admin,developers',  // 允许提交的用户/角色
                ok: '确认'  // 按钮文本
        )
        if ("强制杀死服务".equals(choice)) {
            ssh.sshVoid(ip,"  kill -9 ${PID}")
        }else{
            error "终止流程"
        }

    }


}
